{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "原文代码作者：https://github.com/wzyonggege/statistical-learning-method\n",
    "\n",
    "中文注释制作：机器学习初学者\n",
    "\n",
    "微信公众号：ID:ai-start-com\n",
    "\n",
    "配置环境：python 3.6\n",
    "\n",
    "![gongzhong](../gongzhong.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第1章 统计学习方法概论"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "高斯于1823年在误差e1 ,… , en独立同分布的假定下,证明了最小二乘方法的一个最优性质: 在所有无偏的线性估计类中,最小二乘方法是其中方差最小的！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 使用最小二乘法拟和曲线\n",
    "\n",
    "对于数据$(x_i, y_i)(i=1, 2, 3...,m)$\n",
    "\n",
    "拟合出函数$h(x)$\n",
    "\n",
    "有误差，即残差：$r_i=h(x_i)-y_i$\n",
    "\n",
    "此时L2范数(残差平方和)最小时，h(x) 和 y 相似度最高，更拟合"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "一般的H(x)为n次的多项式，$H(x)=w_0+w_1x+w_2x^2+...w_nx^n$\n",
    "\n",
    "$w(w_0,w_1,w_2,...,w_n)$为参数\n",
    "\n",
    "最小二乘法就是要找到一组 $w(w_0,w_1,w_2,...,w_n)$ 使得$\\sum_{i=1}^n(h(x_i)-y_i)^2$ (残差平方和) 最小\n",
    "\n",
    "即，求 $min\\sum_{i=1}^n(h(x_i)-y_i)^2$\n",
    "\n",
    "----"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "举例：我们用目标函数$y=sin2{\\pi}x$, 加上一个正太分布的噪音干扰，用多项式去拟合【例1.1 11页】"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy as sp\n",
    "from scipy.optimize import leastsq\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*ps: numpy.poly1d([1,2,3])  生成  $1x^2+2x^1+3x^0$*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 目标函数\n",
    "def real_func(x):\n",
    "    return np.sin(2*np.pi*x)\n",
    "\n",
    "# 多项式\n",
    "def fit_func(p, x):\n",
    "    f = np.poly1d(p)\n",
    "    return f(x)\n",
    "\n",
    "# 残差\n",
    "def residuals_func(p, x, y):\n",
    "    ret = fit_func(p, x) - y\n",
    "    return ret"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 十个点\n",
    "x = np.linspace(0, 1, 10)\n",
    "x_points = np.linspace(0, 1, 1000)\n",
    "# 加上正态分布噪音的目标函数的值\n",
    "y_ = real_func(x)\n",
    "y = [np.random.normal(0, 0.1)+y1 for y1 in y_]\n",
    "\n",
    "def fitting(M=0):\n",
    "    \"\"\"\n",
    "    M    为 多项式的次数\n",
    "    \"\"\"    \n",
    "    # 随机初始化多项式参数\n",
    "    p_init = np.random.rand(M+1)\n",
    "    # 最小二乘法\n",
    "    p_lsq = leastsq(residuals_func, p_init, args=(x, y))\n",
    "    print('Fitting Parameters:', p_lsq[0])\n",
    "    \n",
    "    # 可视化\n",
    "    plt.plot(x_points, real_func(x_points), label='real')\n",
    "    plt.plot(x_points, fit_func(p_lsq[0], x_points), label='fitted curve')\n",
    "    plt.plot(x, y, 'bo', label='noise')\n",
    "    plt.legend()\n",
    "    return p_lsq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting Parameters: [-0.03353208]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# M=0\n",
    "p_lsq_0 = fitting(M=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting Parameters: [-1.5025198   0.71772782]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# M=1\n",
    "p_lsq_1 = fitting(M=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting Parameters: [ 21.14354912 -31.85091     10.66661731  -0.03324716]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# M=3\n",
    "p_lsq_3 = fitting(M=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting Parameters: [-7.35300865e+03  3.20446626e+04 -5.87661832e+04  5.89723258e+04\n",
      " -3.52349521e+04  1.27636926e+04 -2.70301291e+03  2.80321069e+02\n",
      " -3.97563291e+00 -2.00783231e-02]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# M=9\n",
    "p_lsq_9 = fitting(M=9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当M=9时，多项式曲线通过了每个数据点，但是造成了过拟合"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 正则化"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "结果显示过拟合， 引入正则化项(regularizer)，降低过拟合\n",
    "\n",
    "$Q(x)=\\sum_{i=1}^n(h(x_i)-y_i)^2+\\lambda||w||^2$。\n",
    "\n",
    "回归问题中，损失函数是平方损失，正则化可以是参数向量的L2范数,也可以是L1范数。\n",
    "\n",
    "- L1: regularization\\*abs(p)\n",
    "\n",
    "- L2: 0.5 \\* regularization \\* np.square(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "regularization = 0.0001\n",
    "\n",
    "def residuals_func_regularization(p, x, y):\n",
    "    ret = fit_func(p, x) - y\n",
    "    ret = np.append(ret, np.sqrt(0.5*regularization*np.square(p))) # L2范数作为正则化项\n",
    "    return ret"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 最小二乘法,加正则化项\n",
    "p_init = np.random.rand(9+1)\n",
    "p_lsq_regularization = leastsq(residuals_func_regularization, p_init, args=(x, y))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x27bada3ac50>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x_points, real_func(x_points), label='real')\n",
    "plt.plot(x_points, fit_func(p_lsq_9[0], x_points), label='fitted curve')\n",
    "plt.plot(x_points, fit_func(p_lsq_regularization[0], x_points), label='regularization')\n",
    "plt.plot(x, y, 'bo', label='noise')\n",
    "plt.legend()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
